<
language> (Note lower case) A language based on {Anthony
Hoare}'s
CSP and
David May's
EPL. Named after the
English philosopher, William of
Occam (1300-1349) who
propounded
Occam's Razor. The
occam language was designed
by David May of
INMOS to easily describe
concurrent
processes which communicate via one-way channels. It was
developed to run on the
INMOS transputer but
compilers
are available for
VAX,
Sun and
Intel MDS, inter alia.
The basic entity in
occam is the process of which there are
four fundamental types,
assignment, input, output, and wait.
More complex processes are constructed from these using SEQ to
specify sequential execution, PAR to specify parallel
execution and ALT where each process is associated with an
input from a channel. The process whose channel inputs first
is executed. The fourth constructor is IF with a list of
conditions and associated processes. The process executed is
the one with the first true condition in textual order. There
is no
operator precedence.
The original
occam is now known as "
occam 1". It was extended
to
occam 2.
Simulator for VAX (ftp://watserv1.waterloo.edu/).
Tahoe mailing list: <
occam@sutcase.case.syr.edu>.
[
David May et al, 1982. "Concurrent algorithms"].
[
"Occam", D. May, SIGPLAN Notices 18(4):69-79, 1983].
(1994-11-18)